<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>代码块</title>
    <script>

        /*
            在JS中，可以通过代码块来为代码进行分组，
                在同一个代码块中的代码就属于一组代码
                这组代码要么全都执行，要么都不执行

            JS的代码块比较奇葩。

            通常情况下，代码块对于外部来说应该是隔离的，
                在代码块外部是不能看到代码块内容的

            在JS中，使用var声明的变量，是没有块级作用域的，
                在{}中声明的变量，在{}外部依然可以访问！
         */
        // {
        //     var a = 10;
        // }
        //
        // console.log(a);

        /*
            为了解决该问题，在后来的JS版本中，引入新的声明变量的方式 let，
                使用let声明的变量，就具有块级作用域

            除了let，在js中还提供了一种声明常量的方式 const
        */
        {
            let a = 33; // let 是js中提供的新的声明变量的方式
        }

        const b = 100; // const 用于声明常量，常量一旦声明，就不能进行重新赋值
        // b = 11; 常量不能再重新赋值

        console.log(b);



    </script>
</head>
<body>

</body>
</html>